#ifndef COMMON_MATHS_PROJECTIONS_H
#define COMMON_MATHS_PROJECTIONS_H


#include "Vector3.h"
#include "Matrix44.h"


Matrix44    FrustumProjection(float left, float right, float bottom, float top, float nearClip, float farClip);
Matrix44    OrthographicProjection(float left, float right, float bottom, float top, float nearClip, float farClip);
Matrix44    PerspectiveProjection(float fieldOfViewY, float aspect, float nearClip, float farClip);
Matrix44    PerspectiveProjection(float fieldOfViewY, float aspect, float nearClip);

Matrix44    InverseFrustumProjection(float left, float right, float bottom, float top, float nearClip, float farClip);
Matrix44    InverseOrthographicProjection(float left, float right, float bottom, float top, float nearClip, float farClip);
Matrix44    InversePerspectiveProjection(float fieldOfViewY, float aspect, float nearClip, float farClip);

Matrix44    LookAt(Vector3Arg eyePos, Vector3Arg targetPos, Vector3Arg up);


#endif
